package com.gather;

import java.util.ArrayList;
import java.util.Iterator;

public class Test03 {
    public static void main(String[] args) {
        System.out.println("ArrayList学习相关APi");
        // 1.添加元素
        ArrayList<String> strList = new ArrayList<>();
        strList.add("I");
        strList.add("am");
        strList.add("kerry");
        strList.add("hello world!");
        strList.add("kerry");
        strList.add("kerry");
        strList.add("kerry");

        // 2.删除元素
        strList.remove("kerry"); // 删除单个
        System.out.println(strList);
        strList.removeIf(e->e.contains("kerry"));
        System.out.println(strList);// [I, am, hello world!]
        System.out.println("==========");
        // 第一种方式循环 ArrayList
        for (String s : strList) {
            System.out.println(s);
        }
        System.out.println("=====");
        // fori
        for (int i = 0; i < strList.size(); i++) {
            String s = strList.get(i);
            System.out.println(s);
        }
        // 第二种遍历 链表转换成为数组方式
        System.out.println("第二种遍历方式");
        String[] strArray = new String[strList.size()];
        strList.toArray(strArray);
        for (int i = 0; i < strArray.length; i++) {
            String s = strArray[i];
            System.out.println(s);
        }

        System.out.println("===第三种遍历====");
        // 第三种遍历 使用迭代器进行遍历操作
        Iterator<String> iterator = strList.iterator();
        while (iterator.hasNext())
        {
            System.out.println(iterator.next());
        }
    }
}
